import sys
import os
# 获取当前main.py所在的目录（game/）
current_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接src目录的路径（game/src/）
src_dir = os.path.join(current_dir, "src")
# 将src目录加入搜索路径（这样就能找到src下的core了）
if src_dir not in sys.path:
    sys.path.append(src_dir)


def show_mode_selection():
    """显示应用程序模式选择菜单并获取用户选择。
    
    显示欢迎信息和可用运行模式选项（控制台模式和图形界面模式），
    然后获取并验证用户输入，直到用户提供有效的选择。
    
    Returns:
        str: 用户的选择，'1'表示控制台模式，'2'表示图形界面模式
    """
    print("Welcome to the Game Character Collection Management System!")
    print("请选择运行模式：(Please choose mode)")
    print("1. 控制台模式 (Console Mode)")
    print("2. 图形界面模式 (GUI Mode)")
    
    while True:
        choice = input("请输入选择(Please enter choose) (1-2): ").strip()
        if choice in ['1', '2']:
            return choice
        print("输入错误，请重新选择(Input error, please select again.)(1-2)!")

if __name__ == "__main__":
    mode = show_mode_selection()
    
    if mode == '1':
        from src.ui.console.game_menu import run_console_app
        run_console_app()
    else:
        try:
            from src.ui.gui.main_gui import run_gui_app
            run_gui_app()
        except ImportError as e:
            print(f"无法导入GUI模块: {e}")
            print("正在启动控制台模式...")
            from src.ui.console.game_menu import run_console_app
            run_console_app()